<?php
$a_tablecolumns_namhoa_user_class = array(
    'name'    => 'user_class',
    'columns' => array(
        'classid'    ,
        'userid'     ,
        'course'     ,
        'team'       ,
        'level'      ,
        'crew'       ,
        'chuyencan'  ,
        'hocluc'     ,
        'rank'       ,
        'note'       ,
        'creatorid'  ,
        'updaterid'  ,
        'insertdate' ,
        'updatedate' ,
    ),
);

function get_columns_namhoa_user_class() {
    return array(
        'name'    => 'user_class',
        'columns' => array(
            'classid'    ,
            'userid'     ,
            'course'     ,
            'team'       ,
            'level'      ,
            'crew'       ,
            'chuyencan'  ,
            'hocluc'     ,
            'rank'       ,
            'note'       ,
            'creatorid'  ,
            'updaterid'  ,
            'insertdate' ,
            'updatedate' ,
        ),
    );
}

$f_classid    = 0 ;
$f_userid     = '';
$f_course     = '';
$f_team       = '';
$f_level      = '';
$f_crew       = '';
$f_chuyencan  = 0 ;
$f_hocluc     = 0 ;
$f_rank       = '';
$f_note       = '';
$f_creatorid  = '';
$f_updaterid  = '';
$f_insertdate = date('Y-m-d H:i:s');
$f_updatedate = $f_insertdate;

class namhoa_user_class {
    public function __get($v_property) {
        return '';
    }
} 

$d_user_class = new namhoa_user_class();

if (isset($_REQUEST['classid'    ] )) { $f_classid    = $_REQUEST['classid'    ] ; }
if (isset($_REQUEST['userid'     ] )) { $f_userid     = $_REQUEST['userid'     ] ; }
if (isset($_REQUEST['course'     ] )) { $f_course     = $_REQUEST['course'     ] ; }
if (isset($_REQUEST['team'       ] )) { $f_team       = $_REQUEST['team'       ] ; }
if (isset($_REQUEST['level'      ] )) { $f_level      = $_REQUEST['level'      ] ; }
if (isset($_REQUEST['crew'       ] )) { $f_crew       = $_REQUEST['crew'       ] ; }
if (isset($_REQUEST['chuyencan'  ] )) { $f_chuyencan  = $_REQUEST['chuyencan'  ] ; }
if (isset($_REQUEST['hocluc'     ] )) { $f_hocluc     = $_REQUEST['hocluc'     ] ; }
if (isset($_REQUEST['rank'       ] )) { $f_rank       = $_REQUEST['rank'       ] ; }
if (isset($_REQUEST['note'       ] )) { $f_note       = $_REQUEST['note'       ] ; }

function make_filter_namhoa_user_class($s_field, $s_keyword) {
    $v_filter = '';

    if ($s_field != '' && $s_keyword != '') {
        switch ($s_field) {
            case 'userid'     :
            case 'course'     :
            case 'team'       :
            case 'level'      :
            case 'crew'       :
            case 'rank'       :
            case 'note'       :
            case 'creatorid'  :
            case 'updaterid'  :
            case 'classid'    :
            case 'chuyencan'  :
            case 'hocluc'     :
                $v_filter = "`$s_field` like '%$s_keyword%'";

                break;

            case 'insertdate' :
            case 'updatedate' :
                $v_thisday = $v_nextday = date('Y-m-d');

                if (strpos($s_keyword, '~') !== FALSE) {
                    $v_keywords = explode('~', $s_keyword)   ;
                    $v_thisday  = format_date($v_keywords[0]);
                    $v_nextday  = format_date($v_keywords[1]);
                }

                $v_filter = "(`$s_field` >= '$v_thisday 00:00:00' and `$s_field` <= '$v_nextday 23:59:59')";

                break;

        }
    }

    return $v_filter;
}

function make_advanced_filter_namhoa_user_class($s_field, $s_keyword) {
    $v_filter = '';

    if ($s_field != '' && $s_keyword != '') {
        switch ($s_field) {
            case 'userid'     :
            case 'course'     :
            case 'team'       :
            case 'level'      :
            case 'crew'       :
            case 'rank'       :
            case 'note'       :
            case 'creatorid'  :
            case 'updaterid'  :
                $v_filter = "`$s_field` like '%$s_keyword%'";

                break;

            case 'classid'    :
            case 'chuyencan'  :
            case 'hocluc'     :
                if (strpos($s_keyword, '~') !== FALSE) {
                    list($v_from, $v_to) = explode('~', $s_keyword, 2);
                
                    if (is_numeric($v_from)) {
                        $v_filter = $v_filter . "`$s_field` >= $v_from";
                    }
                
                    if (is_numeric($v_to)) {
                        $v_filter = $v_filter . (empty($v_filter) ? '' : ' and ') . "`$s_field` <= $v_to";
                    }
                
                    $v_filter = empty($v_filter) ? '' : "($v_filter)";
                }
                elseif (is_numeric($s_keyword)) {
                    $v_filter = "`$s_field` = $s_keyword";
                }

                break;

            case 'insertdate' :
            case 'updatedate' :
                if (strpos($s_keyword, '~') !== FALSE) {
                    list($v_fromday, $v_today) = explode('~', $s_keyword, 2);
                
                    if (validate_date($v_fromday)) {
                        $v_filter = $v_filter . "`$s_field` >= '$v_fromday 00:00:00'";
                    }
                
                    if (validate_date($v_today)) {
                        $v_filter = $v_filter . (empty($v_filter) ? '' : ' and ') . "`$s_field` <= '$v_today 23:59:59'";
                    }
                
                    $v_filter = empty($v_filter) ? '' : "($v_filter)";
                }
                elseif (validate_date($s_keyword)) {
                    $v_filter = "(`$s_field` >= '$s_keyword 00:00:00' and `$s_field` <= '$s_keyword 23:59:59')";
                }

                break;

        }
    }

    return $v_filter;
}

function build_filter_namhoa_user_class($s_field) {
    echo '<option value="classid"'    , ($s_field == 'classid'     ? ' selected="selected"' : ''), '> Mã Số Lớp             </option>';
    echo '<option value="userid"'     , ($s_field == 'userid'      ? ' selected="selected"' : ''), '> Mã Số Thiếu Nhi       </option>';
    echo '<option value="course"'     , ($s_field == 'course'      ? ' selected="selected"' : ''), '> Khóa Học              </option>';
    echo '<option value="team"'       , ($s_field == 'team'        ? ' selected="selected"' : ''), '> Ngành                 </option>';
    echo '<option value="level"'      , ($s_field == 'level'       ? ' selected="selected"' : ''), '> Cấp                   </option>';
    echo '<option value="crew"'       , ($s_field == 'crew'        ? ' selected="selected"' : ''), '> Đội                   </option>';
    echo '<option value="chuyencan"'  , ($s_field == 'chuyencan'   ? ' selected="selected"' : ''), '> Trung Bình Chuyên Cần </option>';
    echo '<option value="hocluc"'     , ($s_field == 'hocluc'      ? ' selected="selected"' : ''), '> Trung Bình Học Tập    </option>';
    echo '<option value="rank"'       , ($s_field == 'rank'        ? ' selected="selected"' : ''), '> Xếp Hạng              </option>';
    echo '<option value="note"'       , ($s_field == 'note'        ? ' selected="selected"' : ''), '> Ghi Chú               </option>';
    echo '<option value="creatorid"'  , ($s_field == 'creatorid'   ? ' selected="selected"' : ''), '> Khởi Tạo              </option>';
    echo '<option value="updaterid"'  , ($s_field == 'updaterid'   ? ' selected="selected"' : ''), '> Cập Nhật              </option>';
    echo '<option value="insertdate"' , ($s_field == 'insertdate'  ? ' selected="selected"' : ''), '> Ngày Tạo              </option>';
    echo '<option value="updatedate"' , ($s_field == 'updatedate'  ? ' selected="selected"' : ''), '> Ngày Cập Nhật         </option>';
}

function build_advanced_filter_namhoa_user_class($s_field, $a_hide = array()) {
    if (empty($a_hide)) {
        return build_filter_namhoa_user_class($s_field);
    }

    $a_columns = array(
        'classid'    => 'Mã Số Lớp'             ,
        'userid'     => 'Mã Số Thiếu Nhi'       ,
        'course'     => 'Khóa Học'              ,
        'team'       => 'Ngành'                 ,
        'level'      => 'Cấp'                   ,
        'crew'       => 'Đội'                   ,
        'chuyencan'  => 'Trung Bình Chuyên Cần' ,
        'hocluc'     => 'Trung Bình Học Tập'    ,
        'rank'       => 'Xếp Hạng'              ,
        'note'       => 'Ghi Chú'               ,
        'creatorid'  => 'Khởi Tạo'              ,
        'updaterid'  => 'Cập Nhật'              ,
        'insertdate' => 'Ngày Tạo'              ,
        'updatedate' => 'Ngày Cập Nhật'         ,
    );

    $a_hide    = array_combine($a_hide, $a_hide);
    $a_columns = array_diff_key($a_columns, $a_hide);

    foreach ($a_columns as $v_columnname => $v_columncomment) {
        echo '<option value="', $v_columnname, '"', ($s_field == $v_columnname ? ' selected="selected"' : ''), '>', $v_columncomment, '</option>';
    }
}
?>